package com.ruoyi.finance.livestreaming.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 数字直播购买记录
 * </p>
 *
 * @author wangmh
 * @since 2023-09-21
 */
@TableName("sz_order")
@ApiModel(value = "SzOrder对象", description = "数字直播购买记录")
public class SzOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("用户id")
    @TableField("user_id")
    private Long userId;

    @ApiModelProperty("购买类型")
    @TableField("buy_type")
    private String buyType;

    @ApiModelProperty("本次获得能量值")
    @TableField("energy")
    private BigDecimal energy;

    @ApiModelProperty("充值金额")
    @TableField("recharge_amount")
    private BigDecimal rechargeAmount;

    @ApiModelProperty("实际支付金额")
    @TableField("actually_amount")
    private BigDecimal actuallyAmount;

    @ApiModelProperty("组合支付余额")
    @TableField("balance_pay_amount")
    private BigDecimal balancePayAmount;

    @ApiModelProperty("充值时间")
    @TableField("recharge_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime rechargeTime;

    @ApiModelProperty("支付类型")
    @TableField("payment_type")
    private String paymentType;

    @ApiModelProperty("支付时间")
    @TableField("payment_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime paymentTime;

    @ApiModelProperty("订单标题")
    @TableField("order_name")
    private String orderName;

    @ApiModelProperty("订单id")
    @TableField("order_id")
    private String orderId;

    @ApiModelProperty("交易订单号")
    @TableField("pay_id")
    private String payId;

    @ApiModelProperty("订单状态")
    @TableField("pay_state")
    private String payState;

    @ApiModelProperty("备注")
    @TableField("remark")
    private String remark;

    @ApiModelProperty("订单描述")
    @TableField("order_description")
    private String orderDescription;

    @ApiModelProperty("单过期时间")
    @TableField("expiration_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime expirationTime;

    @ApiModelProperty("邀请人id")
    @TableField("parent_id")
    private Long parentId;

    @ApiModelProperty("商户号")
    @TableField("mid")
    private String mid;

    @ApiModelProperty("应结订单金额")
    @TableField("settleAmount")
    private BigDecimal settleAmount;

    @ApiModelProperty("付款人支付账号")
    @TableField("accLogonNo")
    private String accLogonNo;

    @ApiModelProperty("买家支付金额")
    @TableField("buyerPayAmount")
    private BigDecimal buyerPayAmount;

    public String getMid() {
        return mid;
    }

    public void setMid(String mid) {
        this.mid = mid;
    }

    public BigDecimal getSettleAmount() {
        return settleAmount;
    }

    public void setSettleAmount(BigDecimal settleAmount) {
        this.settleAmount = settleAmount;
    }

    public String getAccLogonNo() {
        return accLogonNo;
    }

    public void setAccLogonNo(String accLogonNo) {
        this.accLogonNo = accLogonNo;
    }

    public BigDecimal getActuallyAmount() {
        return actuallyAmount;
    }

    public void setActuallyAmount(BigDecimal actuallyAmount) {
        this.actuallyAmount = actuallyAmount;
    }

    public BigDecimal getBalancePayAmount() {
        return balancePayAmount;
    }

    public void setBalancePayAmount(BigDecimal balancePayAmount) {
        this.balancePayAmount = balancePayAmount;
    }

    public BigDecimal getBuyerPayAmount() {
        return buyerPayAmount;
    }

    public void setBuyerPayAmount(BigDecimal buyerPayAmount) {
        this.buyerPayAmount = buyerPayAmount;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public LocalDateTime getExpirationTime() {
        return expirationTime;
    }

    public void setExpirationTime(LocalDateTime expirationTime) {
        this.expirationTime = expirationTime;
    }

    public String getOrderDescription() {
        return orderDescription;
    }

    public void setOrderDescription(String orderDescription) {
        this.orderDescription = orderDescription;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }
    public String getBuyType() {
        return buyType;
    }

    public void setBuyType(String buyType) {
        this.buyType = buyType;
    }
    public BigDecimal getEnergy() {
        return energy;
    }

    public void setEnergy(BigDecimal energy) {
        this.energy = energy;
    }
    public BigDecimal getRechargeAmount() {
        return rechargeAmount;
    }

    public void setRechargeAmount(BigDecimal rechargeAmount) {
        this.rechargeAmount = rechargeAmount;
    }
    public LocalDateTime getRechargeTime() {
        return rechargeTime;
    }

    public void setRechargeTime(LocalDateTime rechargeTime) {
        this.rechargeTime = rechargeTime;
    }
    public String getPaymentType() {
        return paymentType;
    }

    public void setPaymentType(String paymentType) {
        this.paymentType = paymentType;
    }
    public LocalDateTime getPaymentTime() {
        return paymentTime;
    }

    public void setPaymentTime(LocalDateTime paymentTime) {
        this.paymentTime = paymentTime;
    }
    public String getOrderName() {
        return orderName;
    }

    public void setOrderName(String orderName) {
        this.orderName = orderName;
    }
    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }
    public String getPayId() {
        return payId;
    }

    public void setPayId(String payId) {
        this.payId = payId;
    }
    public String getPayState() {
        return payState;
    }

    public void setPayState(String payState) {
        this.payState = payState;
    }
    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return "SzOrder{" +
            "id=" + id +
            ", userId=" + userId +
            ", buyType=" + buyType +
            ", energy=" + energy +
            ", rechargeAmount=" + rechargeAmount +
            ", rechargeTime=" + rechargeTime +
            ", paymentType=" + paymentType +
            ", paymentTime=" + paymentTime +
            ", orderName=" + orderName +
            ", orderId=" + orderId +
            ", payId=" + payId +
            ", payState=" + payState +
            ", remark=" + remark +
        "}";
    }
}
